跳到主要内容

实验一 点亮LED

在这个系列教程里你将更深入学习FPGA的设计同时更深入了解我们的小脚丫。如果你还没有开始使用小脚丫,也可以从这里一步一步开始你的可编程逻辑学习。请先准备好软硬件文档,因为FPGA的设计是和硬件息息相关,会经常用到这些文档。你还必须先安装好Lattice Diamond设计工具,这是用小脚丫STEP-MXO2必须用到的。 对于很多刚刚接触电子硬件的人来说,第一件事就是点亮LED,在这个例程里,将带您实现这一功能。

1. 硬件说明

STEP-MXO2开发板虽然很小巧,上面也集成了不少外设,在本实验里我们就看看如何用FPGA控制简单外设,如何用按键或者开关控制LED的亮和灭。

alt text
图1-1 STEP-MAX10板载LED硬件电路图

这是开发板上的8个红色LED,LED1~8信号连接到FPGA的引脚,作为FPGA输出信号控制。当FPGA输出低电平时LED变亮,当FPGA输出高电平时LED熄灭。 

alt text
图1-2 STEP-MAX10板载轻触按键硬件电路图
alt text

图1-3 STEP-MAX10板载拨码开关硬件电路图

这是开发板上4个按键和4个开关,Key14是按键控制信号,SW14是开关控制信号,都连接到FPGA的引脚,作为FPGA的输入信号。当按键断开时,FPGA输入为高电平,当按键按下时,FPGA输入为低电平;当开关断开(OFF)时,FPGA输入为低电平,当开关合上(ON)时,FPGA输入为高电平。 

所以我们可以用开关或者按键来控制LED的亮灭。

2. Verilog代码

module led (key,sw,led);

input [3:0] key; //按键输入信号
input [3:0] sw; //开关输入信号
output [7:0] led; //输出信号到LED

assign led = {key,sw}; //assign连续赋值。大括号是拼接符,表示把key和sw拼接组成一个新的8位数赋值给led

endmodule

3. 引脚分配

综合(synthesize)完成之后一定要配置FPGA的引脚到相应的外设,目的是软件和对应的硬件相结合,这样下载FPGA程序后才能达到我们想要的效果。

信号名称分配管脚信号名称分配管脚
LED[0]N13SW[0]M7
LED[1]M12SW[1]M8
LED[2]P12SW[2]M9
LED[3]M11SW[3]M10
LED[4]P11KEY[0]L14
LED[5]N10KEY[1]M13
LED[6]N9KEY[2]M14
LED[7]P9KEY[3]N14

4. 小结

下载完程序后就可以实现按键开关控制LED灯的亮灭。了解小脚丫STEP-MXO2上的外设LED、按键和开关的使用。